The present invention relates to robots, servo circuits, actuators, robot control methods, and actuator driving methods, and can be applied to, for example, two- or four-legged mobile robots. The present invention allows the moment of inertia of a driver and the like to be detected in real-time without providing special sensors, by controlling an actuator based on a control object, a result of detecting the movement of the actuator and a response from a standard mathematical model of the actuator; and also in a servo system or the like, by correcting a control value so that responses from an object to be driven and a model of the object to be driven are identical and moreover, by detecting at least the moment of inertia of the object to be driven based on a result of the control value correction.
Hitherto, a legged mobile robot that uses two legs to move can be moved with the two legs by controlling a plurality of joint actuators provided in the legs. FIG. 8 is a skeleton view showing a schematic construction of a two-legged mobile robot of the above-described type. A right leg 3R and a left leg 3L are joined to a body 2.
For the right leg 3R and the left leg 3L, actuators for controlling joint angles are provided corresponding to, for example, thighs, knees, and ankles, and the right leg 3R and the left leg 3L are joined to the body 2 by actuators M1R and M1L that rotate treating the vertical direction as a rotational axis. Here, for the joints corresponding to the thighs and the ankles, actuators M2R and M3R, and M2L and M3L that rotate regions lower than the thighs back and forth and right and left are provided, and for the joints corresponding to the knees, actuators M4R and M4L that rotate regions lower than the knees back and forth are provided. In addition, for the joints corresponding to the ankles, actuators M5R and M6R, and M5L and M6L that rotate regions which are in contact with the ground back and forth and right and left are provided.
A legged mobile robot 1 detects the operations of the actuators M1R to M6R and M1L to M6L using sensors, and uses a servo loop to control the operations of the actuators M1R to M6R and M1L to M6L. In the body 2 of the legged mobile robot 1, an attitude sensor (gravity sensor for detecting the direction of gravity) that detects an attitude is provided, and a force sensor, a contact sensor, etc., are provided in each region of the legs 3R and 3L, whereby these sensors detect an inclination or the like of the body 2 and correct a control object in each servo loop. These enable this type of robot to perform two-leg walking by setting the control object in each servo loop so that the attitude is successively changed.
FIG. 9 is a block diagram showing a servo circuit that drives an actuator and a control system positioned higher than it. In the legged mobile robot 1, a control command generator 11 executes, for example, interpolation-operation processing using a basic control object for each actuator, which is used for two-leg walking, whereby a control object value for each actuator is sequentially generated. The control command generator 11 sequentially outputs each control object value to the servo circuit 12, and inputs each control object to an optimization regulator 13. In FIG. 9, the reference letter S is a Laplace operator.
Each servo circuit 12 uses a multiplier 15 to multiply a differential value of each control object value by gain coefficient Kf. Also, each servo circuit 12 acquires the rotational speed information Vm of each actuator and displacement information Pm based on a rotation angle by using an output from the sensor provided for each actuator. Disturbance Td, caused by, for example, roughness of a floor, is added to the rotational speed information Vm and the displacement information Pm.
Each servo circuit 12 generates an error signal xe2x80x9cepxe2x80x9d by using a subtractor 14 to subtract the displacement information Pm from the control object value, and uses a multiplier 16 to amplify the error signal ep by gain coefficient Kp0. Each servo circuit 12 adds thus obtained outputs from the multipliers 15 and 16, and outputs the sum to an actuator driving circuit 18.
A subtractor 20, which is provided for each control object value, subtracts each control object from the corresponding displacement information Pm, and inputs the obtained value to the optimization regulator 13.
The optimization regulator 13 acquires the displacement information Pm from each servo circuit, and acquires a detection result from each sensor such as an attitude sensor. Thereby, when a control object value, caused by two-leg walking, is output from, for example, the control command generator 11 to each servo circuit, the optimization regulator 13 monitors the state of each actuator operated by each servo circuit, and monitors a change in the attitude, contact with the ground, etc., thereby outputting, based on the monitoring results, the amount of operation for correcting performance of each servo circuit so as to cope with roughness of the ground.
The driving circuit 18 controls the rotation of the motor M by so-called xe2x80x9cPI controlxe2x80x9d. In other words, the driving circuit 18 adds the amount of operation to an output value eV generated based on the error signal ep by an arithmetic circuit 24, and subtracts the rotational speed information Vm of a motor main unit 22 as the driver. The driving circuit 18 computes a torque Tm which is required for driving the motor M by using a multiplier 25 and an integrator 26 to sequentially process the arithmetic processing result, and the motor M is driven by current driving in accordance with the torque Tm.
Accordingly, the motor M has such a small coefficient of static friction as can almost be ignored. Thus, the use of moment of inertia Jx and coefficient of viscous friction Dm can express a transfer function as a motional impedance. Therefore, in FIG. 9, the motor M, each integrator, each multiplier, etc., are indicated using the representation in Laplace operation. The motor M outputs the displacement information Pm by using a position-detecting sensor 19 provided on the rotational axis.
This enables the legged mobile robot 1 to correct the control object in each servo circuit based on a detection result obtained by the attitude sensor, etc., whereby, when the legged mobile robot 1 walks on a rough floor thereon, it changes the positions of joints of the ankle, the center of gravity, etc., in accordance with the roughness on the floor.
In the case that a control object in each servo circuit is corrected based on a detection result obtained by an attitude sensor, etc., as described above, a force sensor, a contact sensor, etc., must be provided for each component constituting legs, and the provision for each component causes a problem in that the entire structure is complicated and enlarged.
The enlargement and increase in weight causes a further problem in that increasing the operation speed of the entire robot is difficult. A force sensor for this type has small rigidity, which makes it difficult to accelerate the operation speed of the entire robot.
Moreover, when it becomes difficult to cope with an unpredictable change in a load, the movement is unstable due to the load change depending on the level of difficulty. Therefore, after all, with contact sensors provided for parts that touch the ground, it is required that the load change be predicted.
In the above-described construction in FIG. 8, concerning the motors M6R and M6L for rotating the ground-contact parts the right and left, at the moment the left foot breaks contact with the floor after the right foot touches the floor, the load moment of inertia of the motor M6R for the right foot is maximum, and the load moment of inertia of the motor M6L for the left foot is minimum. In walking, the load moment of inertia repeatedly reaches its maximum and minimum, and the attitude of the entirety causes a complicated change in the load moment of inertia of each motor.
Differently from the above-described case, prediction of the roughness of the floor is difficult. Thus, it is required that a change in the load be predicted using contact sensors provided for ground-contact parts. In this way, if an unpredicted disturbance is generated, or an unpredicted change in the moment of inertia is generated, the amount of operation by the optimization regulator 13 and control of the driving circuit 18 are finally unstable.
If the moment of inertia of the motor, etc., can be detected without providing the above-described type of dedicated sensor, it is possible that the above-described type of problem can be solved once by changing the amount of operation, based on a result of the detection.
The present invention is made in view of the foregoing points, and is intended to propose a servo circuit and actuators that can detect the moment of inertia, etc., of a driving system in real-time, and to propose a robot or the like using these.
To solve the foregoing problems, in the invention, a robot includes an actuator-driving system for driving each actuator in accordance with a control value and a model-driving system for driving a model of each actuator in accordance with the control value; and corrects the control value, which is to be input to the actuator-driving system and/or the model-driving system, so that a response from each actuator and a response from the model coincide with each other, detects at least the moment of inertia of each actuator from a result of the correction, and outputs the value as a result of the driving.
As a result, by correcting a control value to be input to an actuator driving system and/or a model driving system so that responses from an actuator and a model coincide with each other, the robot can detect a moment of inertia of the actuator in real-time based on a result of the correction with a moment of inertia set for the model as a reference. Thereby, by correcting the control value based on the detection result, it is possible to cope with an unpredictable disturbance without providing a special sensor.
Further, in the invention, a robot controls actuators based on control objects, results of detection, and responses from a standard mathematical model.
As a result, a robot controls each actuator by correcting the control object for an unpredictable disturbance based on the detection result and the response from the standard mathematical.
Further, in the invention, a servo circuit comprises an actuator driving system for driving actuators in accordance with control values; a model driving system for driving models of the actuators in accordance with the control values; and a control means which corrects each control value to be input to the actuator driving system and/or the model driving system so that a response from each actuator and a response from each model coincide with each other, detects at least the moment of inertia of each actuator from a result of the correction, and uses the result of the correction to correct each control value to be input to the actuator driving system and the model driving system.
As a result, since, the servo circuit corrects each control value to be input to an actuator driving system and/or a model driving system so that a response from an actuator and a response from a model coincide with each other, and corrects the control value after detecting at least a moment of inertia of the actuator using the correction result, a servo circuit capable of coping with an unpredictable disturbance can be constructed without providing a dedicated sensor.
Further, in the invention, an actuator includes a correcting means for correcting a control value, which is input to a driver driving system and a model driving system, so that a response from the driver and a response from the model coincide with each other, whereby at least the moment of inertia of the driver is detected from a result of the correction by the correcting means and is output.
As a result, since the servo circuit corrects each control value to be input to an actuator driving system and/or a model driving system so that a response from an actuator and a response from a model coincide with each other, and detects at least a moment of inertia of a driver from a result of the correction, a moment of inertia of the driver can be transferred to a higher-ranked control mechanism without providing a special sensor in order to cope with an unpredictable change in a load on the driver, similarly to a case where such a sensor is provided.
Further, in the invention, a robot control method controls each actuator based on a control object, a result of driving each actuator and a response from a standard mathematical model for a control object.
As a result, the robot control method controls each actuator based on a control object, a result of driving the actuator and a response from a standard mathematical model of the control object, the control object can be corrected from the detection result and a response from the standard mathematical model, coping with an unpredictable disturbance.
Furthermore, in the invention, an actuator driving method drives a model of a driver in accordance with a control value; detects at least the moment of inertia of the driver based on a result of the driving of the model and a result of the driving of the actuator; and outputs it.
As a result, since the actuator driving method drives a model of a driver in accordance with a control value; detects at least the moment of inertia of the driver, based on a result of the driving of the model and a result of the driving of the actuator; and outputs it, the moment of inertia of the driver can be transferred to a higher-ranked control mechanism, coping an unpredictable change in a load on the driver.